package com.rybbaby.tss.front.tssRightStatistic.entity;

import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.io.Serializable;
import java.sql.Timestamp;

/**
 * @description 权责收入
 * 
 * @author 雷春琼
 * 
 * @createDate 2017-08-10 上午12:23:36
 */
@Entity
@Table(name = "tss_right_statistic")
@DynamicUpdate(true)
@DynamicInsert(true)
public class TssRightStatistic implements Serializable {
	
	private static final long serialVersionUID = 55163811713276L;
	
	/** 主键 **/
	private String id;
	/** 会员id **/
	private String stuId;
	/** 权责类型 **/
	private Integer type;
	/** 权责产生类型 **/
	private Integer responsibilityType;
	/** 考勤id **/
	private String attendanceId;
	/** 缴费Id **/
	private String paymentId;
	/** 退费id **/
	private String returnPremiumId;
	/** 会员课时包ID **/
	private String memberPackageId;
	/** 课程权责 **/
	private Double classAmount;
	/** 权责金额 **/
	private Double amount;
	/** 操作人id **/
	private String adminUserId;
	/** 是否删除 **/
	private Integer isDelete;
	/** 创建时间 **/
	private java.sql.Timestamp createTime;
	/** 更新时间 **/
	private java.sql.Timestamp updateTime;
	/** 版本 **/
	private Integer version;
	
	/**
	 * 方法: 取得主键
	 *
	 * @return java.lang.String 主键
	 */
	@Id
	@GeneratedValue(generator = "tss_right_statisticIDGenerator" , strategy = GenerationType.AUTO)
	@GenericGenerator(name = "tss_right_statisticIDGenerator" , strategy = "uuid")
	@Column(name = "id", nullable= false, length = 32)
	public String getId() {
		return this.id;
	}
	
	/**
	 * 方法: 设置主键
	 *
	 * @param id 主键
	 */
	public void setId(String id) {
		this.id = id;
	}

	@Column(name = "stuId", nullable= true, length = 32)
	public String getStuId() {
		return stuId;
	}

	public void setStuId(String stuId) {
		this.stuId = stuId;
	}

	@Column(name = "type", nullable= true, length = 11)
	public Integer getType() {
		return type;
	}

	public void setType(Integer type) {
		this.type = type;
	}

	@Column(name = "responsibilityType", nullable= true, length = 11)
	public Integer getResponsibilityType() {
		return responsibilityType;
	}

	public void setResponsibilityType(Integer responsibilityType) {
		this.responsibilityType = responsibilityType;
	}

	@Column(name = "attendanceId", nullable= true, length = 32)
	public String getAttendanceId() {
		return attendanceId;
	}

	public void setAttendanceId(String attendanceId) {
		this.attendanceId = attendanceId;
	}

	@Column(name = "paymentId", nullable= true, length = 32)
	public String getPaymentId() {
		return paymentId;
	}

	public void setPaymentId(String paymentId) {
		this.paymentId = paymentId;
	}

	@Column(name = "returnPremiumId", nullable= true, length = 32)
	public String getReturnPremiumId() {
		return returnPremiumId;
	}

	public void setReturnPremiumId(String returnPremiumId) {
		this.returnPremiumId = returnPremiumId;
	}

	@Column(name = "memberPackageId", nullable= true, length = 32)
	public String getMemberPackageId() {
		return memberPackageId;
	}

	public void setMemberPackageId(String memberPackageId) {
		this.memberPackageId = memberPackageId;
	}

	@Column(name = "classAmount", nullable= true, length = 32)
	public Double getClassAmount() {
		return classAmount;
	}

	public void setClassAmount(Double classAmount) {
		this.classAmount = classAmount;
	}

	@Column(name = "amount", nullable= true, length = 32)
	public Double getAmount() {
		return amount;
	}

	public void setAmount(Double amount) {
		this.amount = amount;
	}

	@Column(name = "adminUserId", nullable= true, length = 32)
	public String getAdminUserId() {
		return adminUserId;
	}

	public void setAdminUserId(String adminUserId) {
		this.adminUserId = adminUserId;
	}

	@Column(name = "isDelete", nullable= true, length = 11)
	public Integer getIsDelete() {
		return isDelete;
	}

	public void setIsDelete(Integer isDelete) {
		this.isDelete = isDelete;
	}

	@Column(name = "createTime", nullable= true, length = 32)
	public Timestamp getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Timestamp createTime) {
		this.createTime = createTime;
	}

	@Column(name = "updateTime", nullable= true, length = 32)
	public Timestamp getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Timestamp updateTime) {
		this.updateTime = updateTime;
	}

    @Version
	@Column(name = "version", nullable= true, length = 11)
	public Integer getVersion() {
		return this.version;
	}
	
	public void setVersion(Integer version) {
		this.version = version;
	}
}